
文档原地址: http://doc.trolltech.com/qtjambi-4.4/html/com/trolltech/qt/qtjambi-tutorial2.html
本文章来自飞豚扫描器的博客 : http://stupidbeauty.com/AirPhin 。
[前一篇: Qt Jambi教程1 - 世界你好 !][Qt Jambi教程][下一篇: Qt Jambi教程3 - 家族价值 ( Family Values )]
代码:
•. Quit.java
在第1 章里已经创建咯一个窗口,现在我们继续,让程序在用户告诉它的时候适当
地退出。
另外,我们会使用一个更有激情的字体 。我们给出这个程序的整个源代码 :
public class Quit
{
public static void main(String args[])
{
QApplication.initialize(args);
QPushButton quit = new QPushButton("Quit");
quit.resize(80, 40);
quit.setFont(new QFont("Times", 18, QFont.Weight.Bold.value()));
quit.clicked.connect(QApplication.instance(), "quit()");
quit.setWindowTitle("Calling It Quits");
quit.show();
QApplication.exec();
}
}
QPushButton quit = new QPushButton("Quit");
这次,按钮显示的是 Quit ,那正是用户 猛 击按钮时程序要做的事 。
quit.resize(80, 40);
我们为这个按钮设置了另一个大小,因为现在的文字 比"Hello world!"短一点 。我们还可以使用 QFontMetrics 来设置合适的大小 ,或者让 QPushButton选 择一个合理的默认值。
quit.setFont(new QFont("Times", 18, QFont.Weight.Bold.value()));
这里,我们为这个按钮选择一个新的字体 :Times 字体 族中的18点粗体字体。还可以改变整个 程序的默认字体 ,使用 QApplication::setFont()就 行咯。我们从Weight 枚举 值中获得它的值, 因为在构造函数里字体的大小是以整数的形式给定的 。
quit.clicked.connect(QApplication.instance(), "quit()");
我们将clicked 信号连接到QApplication 的quit()信号槽上( QApplication. instance() 返回这个程序的唯一的 QApplication 实例)。 clicked是Signal0 类的一个实例,而quit()是QApplication 中的一个常规方法,它使程序退出。当 connect() 被调用时 ,这 2个QtJambiObject之间将建立起1个单向 的连接。当这个信号槽连接到这个信号之后,在这个信号上的某个方法被调用时就会调用quit()方法;这就叫做发射信号。在这个例子中 ,当用户用鼠标猛击按钮时,程序会退出。
每个Qt Jambi对象都能拥有信号( signal )(用来发送消息)和信号槽( slot )(用来接收消息)。所有的部 件都是Qt Jambi 对象,因为它们继承咯 QWidget ,而那个东西间接地继承咯 QtJambiObject 。
这个信号/信号槽机制可能是 Qt Jambi 的最核心的特性咯。 信 号与信号槽文档里对这个主题进行咯细节性的描述。
当你运行这个程序时,你会看到一个比第1 章中的窗口更小的窗口 ,里面是一个更小的按钮 。
参见第1 章,以编译并且运行程序。
试着改变窗口的大小。按那个按钮以关闭程序。
在QPushButton 中有没有其它的信号可以连接到quit?[提示: QPushButton从 QAbstractButton 中继承咯它的大部分功能。]
文档原地址: http://doc.trolltech.com/qtjambi-4.4/html/com/trolltech/qt/qtjambi-tutorial2.html
本文章来自飞豚扫描器的博客 : http://stupidbeauty.com/AirPhin 。
[前一篇: Qt Jambi教程1 - 世界你好 !][Qt Jambi教程][下一篇: Qt Jambi教程3 - 家族价值 ( Family Values )]
代码:
•. Quit.java
在第1 章里已经创建咯一个窗口,现在我们继续,让程序在用户告诉它的时候适当
地退出。
另外,我们会使用一个更有激情的字体 。我们给出这个程序的整个源代码 :
public class Quit
{
public static void main(String args[])
{
QApplication.initialize(args);
QPushButton quit = new QPushButton("Quit");
quit.resize(80, 40);
quit.setFont(new QFont("Times", 18, QFont.Weight.Bold.value()));
quit.clicked.connect(QApplication.instance(), "quit()");
quit.setWindowTitle("Calling It Quits");
quit.show();
QApplication.exec();
}
}
QPushButton quit = new QPushButton("Quit");
这次,按钮显示的是 Quit ,那正是用户 猛 击按钮时程序要做的事 。
quit.resize(80, 40);
我们为这个按钮设置了另一个大小,因为现在的文字 比"Hello world!"短一点 。我们还可以使用 QFontMetrics 来设置合适的大小 ,或者让 QPushButton选 择一个合理的默认值。
quit.setFont(new QFont("Times", 18, QFont.Weight.Bold.value()));
这里,我们为这个按钮选择一个新的字体 :Times 字体 族中的18点粗体字体。还可以改变整个 程序的默认字体 ,使用 QApplication::setFont()就 行咯。我们从Weight 枚举 值中获得它的值, 因为在构造函数里字体的大小是以整数的形式给定的 。
quit.clicked.connect(QApplication.instance(), "quit()");
我们将clicked 信号连接到QApplication 的quit()信号槽上( QApplication. instance() 返回这个程序的唯一的 QApplication 实例)。 clicked是Signal0 类的一个实例,而quit()是QApplication 中的一个常规方法,它使程序退出。当 connect() 被调用时 ,这 2个QtJambiObject之间将建立起1个单向 的连接。当这个信号槽连接到这个信号之后,在这个信号上的某个方法被调用时就会调用quit()方法;这就叫做发射信号。在这个例子中 ,当用户用鼠标猛击按钮时,程序会退出。
每个Qt Jambi对象都能拥有信号( signal )(用来发送消息)和信号槽( slot )(用来接收消息)。所有的部 件都是Qt Jambi 对象,因为它们继承咯 QWidget ,而那个东西间接地继承咯 QtJambiObject 。
这个信号/信号槽机制可能是 Qt Jambi 的最核心的特性咯。 信 号与信号槽文档里对这个主题进行咯细节性的描述。
当你运行这个程序时,你会看到一个比第1 章中的窗口更小的窗口 ,里面是一个更小的按钮 。
参见第1 章,以编译并且运行程序。
试着改变窗口的大小。按那个按钮以关闭程序。
在QPushButton 中有没有其它的信号可以连接到quit?[提示: QPushButton从 QAbstractButton 中继承咯它的大部分功能。]
HxLauncher: Launch Android applications by voice commands